今天宠物迷的小编给各位宠物饲养爱好者分享hadoop 设置权限的宠物知识,其中也会对怎么 查看 cdh hadoop版本(如何查看jdk版本)进行专业的解释,如果能碰巧解决你现在面临的宠物相关问题,别忘了关注本站哦,现在我们开始吧!
hadoop访问控制两级其ServiceLevel Authorization系统级用于控制否访问指定服务例用户/组否向集群提交Job基础访问控制优先于文件权限mapred队列权限验证Access Control on Job Queuesjob调度策略层控制mapred队列权限DFSPermmision用户控制文件权限目前版本连接hadoop集群用户/组信息取决于客户端环境即客户端主机`whoami``bash –c groups`取用户名组名没uidgid用户属组列表要与集群配置用户组相同即拥该组权限 图" class="ikqb_img_alink">
主要是hadoop/bin下的可执行文件权限不够,用chmod 755 文件名 看看
这个命令需要执行账号具备super权限。
在Hadoop simple认证模式下, hadoop将执行任务的Linux账号名字 直接映射为执行任务的 账号名。你这里应该用的是Linux的slave101 账号执行的命令?
可以在配置文件 中,配置dfs.permissions.superusergroup,将其 设置为某个 组名(这个组名在Linux机器的账号体系中存在), 比如,设置为root,然后在namenode所在的机器上执行usermod -g root slave101。
Hadoop使用Linux的GroupMapping进行 用户组判断, 会将slave101识别成root组的, 因为dfs.permissions.superusergroup配成了root,所以slave101就能 具备超级 权限,能完成 超级用户才可进行的操作。
1.解决方案(关闭安全模式):
bin/hadoop dfsadmin -safemode leave
bin/hadoop dfs -chmod -R 777 /tmp
hadoop dfsadmin -report看看datanode是否运行
2.hdfs-site.xml 配置name路径
dfs.name.dir
file:/home/hadoop/dfs/name
dfs.data.dir
file:/home/hadoop/dfs/data
3.hadoop各种xml配置文件中ip地址都用hosts文件中对应的别名设置。
4.删除hosts文件中localhost等配置,自己明确定义每个ip对应的别名。
主要是hadoop/bin下的可执行文件权限不够,用chmod 755 文件名 看看
要注意使用对应用户创建解压文件。并随时使用ll –a 查看文件权限。
[root@master hadoop-1.0.3]# chmod 777 logs/*
[root@master hadoop-1.0.3]# chmod 777 logs
[root@master hadoop-1.0.3]# chown root logs/*
[root@master hadoop-1.0.3]# chown root logs
[root@master hadoop-1.0.3]# bin/start-all.sh
弄了这之后发现依然namenode打不开,我就格式化了namenode:hadoopnamenode –format,发现里面原来有抛出例外:
ERRORnamenode.NameNode: java.io.IOException: Cannot create directory
/var/hadoop/hadoop-hadoop/dfs/name/current at org.apache.hadoop.hdfs.server***mmon.Storage$
StorageDirectory.clearDirectory(Storage.java:297)
atorg.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:1320)
at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:1339)
at.org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1164)
at.org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1271)
atorg.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1288)
根据列外是不能创建一个目录,有了上面的经验我就知道了是没有建目录的权限。所以我直接就在/var/下建了一个目录叫做hadoop/,并授予了权限。再格式化namenode,成功启动。但是转到子节点上输入jps查看,发现并没有完全启动。知道node也有同样问题。
我所知道的hadoop 3种搭建方式: rpm 安装和起服务都是用root权限 tar.gz 这种模式可以在某个用户下搭建及起服务,但是搭建后 hadoop平台只能这个用户访问,除非你去除kerberos sentry等权限管控组件,这样所有用户都能访问都是没有安全可言 cm 页面搭建 也是用root
本文由宠物迷 百科常识栏目发布,非常欢迎各位朋友分享到个人朋友圈,但转载请说明文章出处“怎么 查看 cdh hadoop版本”